This invention relates to methods and tools useful in the areas of computational chemistry and molecular modeling and their application to the calculation of molecular properties. More particularly, this invention relates to methods of displaying the information and controls for molecular modeling tasks in a graphical user interface.
Algorithms have been developed for computing a variety of molecular properties, and new algorithms continue to be developed. Software applications that use such algorithms are marketed commercially, largely to the pharmaceutical and chemical industries, but also to the biotechnology industry and to university laboratories. The information generated with these software applications is used to guide the development of new medications, catalysts, bioactive proteins, etc. Properties that are calculated include the 3-dimensional conformation(s) of molecules, the binding affinity of two molecules for each other, and the 3-dimensional distribution of electron density in a molecule.
Many software packages for molecular modeling are outfitted with graphical user interfaces (GUIs). Existing GUIs are similar to those of common office productivity software, such as word-processing programs, in that they provide a large central window showing whatever is being worked on, surrounded by pull-down menus and tool icons. In the case of molecular modeling software, the central window displays a graphical rendering of the molecule(s) under study, and the surrounding menus and tool icons are the controls that enable the user to set up, execute, and analyse various types of calculations. This type of GUI (hereinafter referred to as “conventional GUI”) can be difficult to use because, although it enables many different molecular modeling tasks, it is not designed to make any particular task easy.
For example, a user engaged in a drug-design project may wish to predict the 3-dimensional conformations of small molecules (molecular weight<1000 Daltons) when they are bound to a protein. This computational task typically involves the following subtasks: 1) load a computer representation of the small molecules into memory from the hard drive or another source, such as a chemical draw program or an on-line database; 2) load a computer representation of the protein from the hard drive into memory; 3) designate the region of the protein into which the small molecules are expected to bind; 4) initiate and monitor the calculation; 5) view and analyze the results graphically; and 6) save the results to the hard drive. The conventional GUI requires the user to be familiar with the correct sequence of steps required to complete the task. This requirement is problematic for users who are not expert in the field. In addition, because the conventional GUI supports many different tasks, it displays a large array of graphical controls, most of which are irrelevant to any given task or subtask. There are often as many as 20–30 pull-down menus, submenus, and toolbar icons. As a consequence, finding the right control for a necessary step can involve pulling down and inspecting many different menus and sub-menus. Some trial and error is often required as well, because the brief names of menu items may not be sufficiently descriptive. Also, although the conventional GUI enables the results to be viewed, it provides no mechanism for backtracking to review how the calculation was set up and run, and to revise the setup and rerun the calculation with the selected changes. Such a capability would help the user to understand the results of a calculation in the context of the setup, and would facilitate generating a series of related calculations. Also, although the optimal graphical rendering of the molecules under study may be different at different steps in the modeling task, the rendering method is not changed automatically in the conventional molecular modeling GUI but must be changed manually by the user. In summary, although the conventional GUI is better than no GUI at all, it still poses high barriers to use, especially for people who are not expert in the field. Even for the expert, it can take a long time to learn how to use such an interface, and using it can be confusing, error-inducing, and inefficient.
Another important limitation of existing molecular simulation software is that it does not lend itself to sharing results with other users. For example, User 1 might need to share the results of a conformational study with User 2, an off-site collaborator who does not have the same modeling software. Existing molecular modeling software provides at best poor support for this usage case.
Thus, there is a need for tools that allow for guiding the user through the sequence of steps required to complete a specific molecular modeling task successfully. It would also be desirable to increase efficiency and avoid errors by helping the user to find the controls required at each step of the task. Tools allowing the user to return to previously completed steps to review and revise what has already been done would also be valuable, as would tools that allow the details and results of modeling calculations to be shared with other users who do not have access to the full-fledged software application. Tools that meet these needs would be useful for molecular modeling experts, and could also for the first time make it possible for non-experts to carry out useful molecular modeling calculations.